package at.ac.tuwien.dse.health.security.authentication;

import at.ac.tuwien.dse.health.entity.Account;

/**
 * Processes an authentication request.
 *
 * @author Bernhard Nickel
 * @author Gregor Schauer
 * @author Dominik Strasser
 */
public interface AuthenticationManager {
	/**
	 * Attempts to authenticate the provided credentials, returning a fully populated {@link Account} if successful.
	 *
	 * @param username the username to authenticate
	 * @param password the password to authenticate
	 * @return the account (may be {@code null}
	 */
	Account authenticate(String username, String password);
}
